package com.keepmoving.service;

import com.keepmoving.po.Commit;
import com.keepmoving.vo.CommitBO;
import com.keepmoving.vo.CommitUserBO;

import java.util.List;

/**
 * @author 魏范彬
 * 评论的业务逻辑接口
 */
public interface CommitService {
    /**
     * 查询所有的帖子集合
     * @return
     */
    public List<Commit> findAll();

    /**
     * 根据用户编号，查询出其用户评论集合
     * @param lId
     * @return 评论集合
     */
    public List<Commit> findBylId(int lId);

    /**
     * 根据用户编号，查询出评论对象
     * @param lId
     * @return 评论对象
     */
    public Commit findBylIdPo(int lId);

    /**
     * 根据lId查询出commit对象
     * @param id
     * @return commit对象
     */
    public Commit findById(int id);

    /**
     * 根据课程cId，查询出集合
     * @param cId
     * @return
     */
    public List<Commit> findBycId(int cId);

    /**
     * 添加一个新的评论
     * @param commit
     * @return 是否成功
     */
    public boolean insert(Commit commit);

    /**
     * 根据id，删除评论对象
     * @param id
     * @return 是否成功
     */
    public boolean delete(int id);

    /**
     * 更新评论
     * @param commit
     * @return 是否成功
     */
    public boolean update(Commit commit);

    /**
     * 通过评论的id，查询CommitUserBO对象
     * @param id
     * @return 评论信息，携带用户信息
     */
    public CommitUserBO findByIdBO(int id);

    /**
     * 根据课程的cid，查询出此课程的所有评论
     * @param cId
     * @return 课程的评论
     */
    public List<CommitBO> findBycIdBo(int cId,CommitBO commitBO);

}
